From: Keir Fraser Date: Fri, 21 Jan 2011 16:01:12 +0000 (+0000) Subject: [VTD][QUIRK] turn off Sandybridge IGD quirk by default X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~10896^2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=64e34cfdcadf72305a8d4e46986274d8c6098d1a;p=xen.git [VTD][QUIRK] turn off Sandybridge IGD quirk by default Turn off Sandybridge IGD quirk by default until potential issues such as MMIO register conflict with OS device driver and proper locking in preamble and postamble functions are addressed. Signed-off-by: Allen Kay --- diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough/vtd/quirks.c index f6a7ac0294..f4f6060576 100644 --- a/xen/drivers/passthrough/vtd/quirks.c +++ b/xen/drivers/passthrough/vtd/quirks.c @@ -217,10 +217,15 @@ static void snb_vtd_ops_postamble(struct iommu* iommu) /* * call before VT-d translation enable and IOTLB flush operations. */ + +static int snb_igd_quirk; +boolean_param("snb_igd_quirk", snb_igd_quirk); + void vtd_ops_preamble_quirk(struct iommu* iommu) { cantiga_vtd_ops_preamble(iommu); - snb_vtd_ops_preamble(iommu); + if ( snb_igd_quirk ) + snb_vtd_ops_preamble(iommu); } /* @@ -228,7 +233,8 @@ void vtd_ops_preamble_quirk(struct iommu* iommu) */ void vtd_ops_postamble_quirk(struct iommu* iommu) { - snb_vtd_ops_postamble(iommu); + if ( snb_igd_quirk ) + snb_vtd_ops_postamble(iommu); } /* initialize platform identification flags */